热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CS3K.com|跨专业转CS,拿到Googleoffer

作者:九章学员,曾上过九章算法强化班和系统设计班拿到offer:Google签约offer:Google求职

作者:九章学员,曾上过九章算法强化班和系统设计班

拿到offer:Google

签约offer:Google

求职经历 CS3K.com

先聊一下我的背景——我是在新加坡读的本科,专业是电子电机工程(EEE),13年8月份毕业,随后跨专业转CS去埃森哲当了软件工程师。因为Google一直是我想去的公司,所以在工作几年积累了一定经验后,在今年我跳槽进了Google。 在面试Google期间,我还面试了亚马逊和Facebook。

我先是参加了Facebook的面试;后面参加了Google的面试和亚马逊的电面;然后收到了Google的offer。

因为在拿到Google的offer之后我才收到亚马逊的onsite面试邀请,而Google一直是我的目标公司,所以后面就没去亚马逊进行onsite面试。

 

offer package: CS3K.com

base salary:$110K stock:4年18万 bonus:50% sign on:$10000 

Google 面试流程CS3K.com

 

1.HR面 CS3K.com

主要是核对简历上的背景资料,问了一些behavior questions.

 

2.Onsite CS3K.com

时长:一个多小时

面试类型:技术面试

面试内容:基础知识;算法题;数据结构

 

3.Onsite CS3K.com

时长:一共5轮(上午2轮,中午和面试官一起吃了个饭,下午3轮),每轮45分钟

面试类型:5轮都是技术面

面试问题:给出基础问题再追加问题(压力有些大);深度优先搜索;并查集;单调栈等

Onsite面试挺顺利的,当时电面时出了一个小状况:一般Google正式技术类电面只有一轮。而当时我是周五面进行了电面,周五电面结束,HR在之后的周一早上给我发邮件,说周一晚上给我打电话,我当时心里感觉就有些不太好,因为据我所知一般如果通过电面都是上午会直接通知告知,果然我晚上收到通知说我没能通过电面。我当时内心感觉很奇怪,因为我对我电面时的表现很自信,我不应该没过的,所以我提交了申诉,之后他们又重新帮我安排了一轮电面,进行的很顺利。

课程帮助 CS3K.com

我报了九章的算法强化班和系统设计班,我觉得这些课程都让我有所收获。因为有些算法问题是需要受过一定类似计算机竞赛的专业训练才能做出来的,而当时给我们上算法强化班课的老师是参加过计算机竞赛的,给我们讲了一些更高级的数据结构问题和一些专业知识点和一些解题技巧。CS3K.com

算法强化班让我感觉帮助很大有一点就是因为在Google onsite面试第二轮时,里面唯一一道有些难度的题目是一个关于单调栈的问题,而这个题目在上算法强化班时老师有明确提出来讲过,所以我很快就回答出了这个问题,感觉面试对我的表现挺满意的。

系统设计班让我开阔了眼界,学到了很多之前没接触到的东西,也对系统大概如何运行有了更深入的了解,感觉学习到的这些知识不止对找工作面试有用,也让我在日常工作时更有大局观。CS3K.com

我是先报的系统设计,然后再报的算法加强班。其实我开始报系统设计班是由于之前有去面试Facebook没通过。我是去年10月中旬开始有准备跳槽的想法,一开始觉得准备2、3个月应该就可以了,所以没多久觉得准备的差不多了就先去面了Facebook,然而在面试时被问到了我基本没接触过的系统设计题,回答的不太好。所以后来面完Facebook后回来就报了系统设计班,为了准备得更充分看了看算法强化班的目录,免费试听了一节课,感觉还挺好的,收费价格也合理,所以又报了算法强化班。

在面试Google时关于系统设计还有一个小插曲:好像现在Google的政策改了,毕业五年以内是不需要面系统设计题的。因为我学了系统设计的相关内容,所以当时跟HR谈onsite面试的时候挺好奇为什么不面系统设计题的,就问了一句不面系统设计题吗。HR也挺有意思的,他说你要面吗面一下也可以,然后在进行onsite面试时我就遇到了一道系统设计题。我回答的还不错,面试官大概也比较满意,感觉还挺有成就感的。

报了九章的课程后感觉自己应该早点报的,因为当时学习课程时老师有讲到我之前面试时遇到的问题。所以建议大家可以尽早报一下课程,感觉能帮助缩短准备面试的时间。CS3K.com

准备建议我当时准备时,由于白天要上班,所以一般都会在晚上下班后学习,压力还是挺大的。如果大家要找工作,建议提前准备起来。CS3K.com

  • 认真过一遍基础知识,熟练掌握基础知识和延伸的知识点。推荐《Java入门与基础算法班》或者《Python 基础算法班》,比较适合转专业零基础的同学 CS3K.com

  • 在lintcode上刷刷题。九章报的课程有配套Lintcode计时训练,能让自己形成时间意识,有一定紧迫感。而且有很多各大公司的面试真题,刷题对增加自信心很有帮助

  • 有一定基础后报名九章算法相关课程,对一些专业知识点进行加强,使解题思路更加有条理CS3K.com

  • 如果对系统设计感兴趣,可以报名九章算法的《系统设计班》,也可以自己在CS3K.com这个网站上学习




推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • (三)多表代码生成的实现方法
    本文介绍了一种实现多表代码生成的方法,使用了java代码和org.jeecg框架中的相关类和接口。通过设置主表配置,可以生成父子表的数据模型。 ... [详细]
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
author-avatar
daoyuanzhi
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有